ديف أوبس

تثبيت Nginx مع HTTP/2 أوبنتو

كيفية تثبيت وإعداد Nginx مع دعم HTTP/2 على نظام أوبنتو 14.04

مقدمة:
يعد Nginx أحد أشهر خوادم الويب التي تستخدم على نطاق واسع في مختلف بيئات الإنتاج بفضل أدائه العالي ومرونته في التعامل مع أنواع مختلفة من حركة مرور الإنترنت. منذ أن أصبح بروتوكول HTTP/2 معياراً عالمياً لتحسين أداء الشبكة وتقليل الزمن المستغرق في تحميل الصفحات، كان من المهم إضافة دعم هذا البروتوكول لخوادم الويب.

في هذا المقال، سنستعرض كيفية تثبيت وتكوين خادم Nginx مع دعم HTTP/2 على نظام أوبنتو 14.04، مع التركيز على جميع الخطوات اللازمة لتحقيق ذلك بشكل فعال.

المتطلبات الأساسية:

  • جهاز يعمل بنظام أوبنتو 14.04.

  • صلاحيات الوصول إلى الجذر (root) أو القدرة على استخدام sudo.

  • اتصال بالإنترنت لتنزيل الحزم المطلوبة.

الخطوة 1: تحديث النظام
قبل البدء في تثبيت أي برامج، من الأفضل تحديث النظام إلى أحدث إصدار من الحزم المتاحة في المستودعات الخاصة بنظام أوبنتو 14.04. يمكن القيام بذلك باستخدام الأوامر التالية:

bash
sudo apt-get update sudo apt-get upgrade

هذا يضمن أن جميع الحزم الأساسية محدثة، مما يسهم في تجنب أي مشكلات قد تنشأ أثناء التثبيت.

الخطوة 2: تثبيت Nginx
بعد تحديث النظام، ننتقل إلى تثبيت خادم الويب Nginx. لتثبيت Nginx على أوبنتو 14.04، يتم تنفيذ الأمر التالي:

bash
sudo apt-get install nginx

سيقوم هذا الأمر بتثبيت أحدث إصدار من Nginx المتاح في مستودعات أوبنتو. بعد التثبيت، يمكنك التحقق من حالة Nginx باستخدام الأمر التالي:

bash
sudo systemctl status nginx

إذا تم تثبيت Nginx بنجاح، يجب أن ترى رسالة تشير إلى أن الخدمة تعمل.

الخطوة 3: تثبيت OpenSSL (إذا لم يكن مثبتاً)
تتطلب ميزة HTTP/2 دعم تشفير SSL/TLS من أجل تشغيلها بشكل صحيح. إذا لم يكن لديك OpenSSL مثبتًا بالفعل، فيمكنك تثبيته باستخدام الأمر التالي:

bash
sudo apt-get install openssl

بعد تثبيت OpenSSL، يمكنك التحقق من وجوده باستخدام الأمر:

bash
openssl version

الخطوة 4: تمكين دعم HTTP/2 في Nginx
يجب على Nginx أن يكون مدمجًا مع دعم HTTP/2 لكي تتمكن من تفعيله. على الرغم من أن أوبنتو 14.04 يحتوي على إصدارات قديمة من Nginx، إلا أن معظم الإصدارات الحديثة من Nginx تدعم HTTP/2 إذا كانت مرتبطة مع OpenSSL 1.0.2 أو إصدار أحدث.

لحل هذه المشكلة، يمكن بناء Nginx من المصدر لدعمه HTTP/2. لنقم أولاً بتثبيت الأدوات المطلوبة لبناء Nginx:

bash
sudo apt-get install build-essential libssl-dev zlib1g-dev

ثم نقوم بتنزيل وتثبيت Nginx من المصدر. ابدأ بتنزيل أحدث نسخة من Nginx:

bash
cd /usr/local/src sudo wget http://nginx.org/download/nginx-1.18.0.tar.gz sudo tar -zxvf nginx-1.18.0.tar.gz cd nginx-1.18.0

بعد ذلك، قم بتكوين Nginx لدعمه HTTP/2 باستخدام الأمر التالي:

bash
sudo ./configure --with-http_ssl_module --with-http_v2_module

ثم قم ببناء وتثبيت Nginx:

bash
sudo make sudo make install

بعد الانتهاء من التثبيت، تأكد من تحديث Nginx باستخدام الأمر:

bash
sudo /usr/local/nginx/sbin/nginx -v

يجب أن تشاهد الآن النسخة المثبتة من Nginx مع دعم HTTP/2.

الخطوة 5: تكوين Nginx لاستخدام HTTP/2
بعد تثبيت Nginx مع دعم HTTP/2، تحتاج إلى تعديل ملفات التكوين الخاصة بـ Nginx لتمكين بروتوكول HTTP/2. عادةً ما تكون هذه الملفات موجودة في مجلد /etc/nginx/.

افتح الملف /etc/nginx/sites-available/default باستخدام محرر نصوص مثل nano:

bash
sudo nano /etc/nginx/sites-available/default

ابحث عن السطر الذي يحتوي على listen 443 ssl;، ثم قم بتعديله لتمكين HTTP/2 بإضافة http2 إلى السطر:

nginx
listen 443 ssl http2;

تأكد من أن لديك شهادة SSL صالحة، حيث أن HTTP/2 يتطلب اتصالًا مشفرًا عبر SSL/TLS. إذا لم تكن قد قمت بإنشاء شهادة SSL من قبل، يمكنك استخدام أدوات مثل Let’s Encrypt للحصول على شهادة SSL مجانية.

الخطوة 6: اختبار التكوين وإعادة تشغيل Nginx
قبل إعادة تشغيل Nginx لتطبيق التغييرات، من المهم التأكد من أن التكوين لا يحتوي على أخطاء. يمكنك التحقق من تكوين Nginx باستخدام الأمر:

bash
sudo nginx -t

إذا كان كل شيء صحيحًا، سترى رسالة تؤكد أن التكوين صحيح. بعد ذلك، أعد تشغيل خدمة Nginx لتطبيق التغييرات:

bash
sudo systemctl restart nginx

الخطوة 7: التحقق من دعم HTTP/2
بمجرد أن تقوم بتفعيل دعم HTTP/2، يمكنك التحقق من أنه يعمل بشكل صحيح باستخدام أداة مثل tools.keycdn.com/http2-test. أدخل عنوان موقعك الإلكتروني في الأداة للتحقق من أن خادمك يدعم HTTP/2.

الخطوة 8: تحسين الأداء (اختياري)
بعد تمكين HTTP/2، يمكنك تحسين الأداء العام لخادم Nginx من خلال تنفيذ بعض التعديلات الأخرى مثل تمكين ضغط Gzip، وتحديد القيم المناسبة للذاكرة المؤقتة (cache), واستخدام HTTP/2 بشكل كامل.

لتمكين ضغط Gzip، أضف الأسطر التالية إلى ملف تكوين Nginx:

nginx
gzip on; gzip_types text/plain text/css application/javascript application/json; gzip_min_length 1000;

لتفعيل تحسينات إضافية، يمكنك أيضًا تكوين Nginx لتقليل زمن الاستجابة من خلال تقنيات مثل التحميل المسبق للموارد (preload) أو تقسيم الملفات (chunking).

الخاتمة:
بتنفيذ هذه الخطوات، ستكون قد نجحت في تثبيت وإعداد Nginx مع دعم HTTP/2 على نظام أوبنتو 14.04. بروتوكول HTTP/2 يساهم بشكل كبير في تسريع تحميل الصفحات وتحسين الأداء بشكل عام، مما يوفر تجربة أفضل للمستخدمين على مواقع الويب التي تعتمد على هذا البروتوكول.